[INFO] cloning repository https://github.com/coruscateor/libsync
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/coruscateor/libsync" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoruscateor%2Flibsync", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoruscateor%2Flibsync'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f7e215ba7556d2b96821d4201d8cd2f89ad6f27a
[INFO] fixing coruscateor/libsync against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoruscateor%2Flibsync" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/coruscateor/libsync
[INFO] finished tweaking git repo https://github.com/coruscateor/libsync
[INFO] tweaked toml for git repo https://github.com/coruscateor/libsync written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/coruscateor/libsync on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/coruscateor/libsync already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded inc_dec v0.1.0
[INFO] [stderr]   Downloaded accessorise v0.2.0
[INFO] [stderr]   Downloaded scc v3.7.1
[INFO] [stderr]   Downloaded saa v5.6.0
[INFO] [stderr]   Downloaded pastey v0.2.2
[INFO] [stderr]   Downloaded delegate v0.13.5
[INFO] [stderr]   Downloaded sdd v4.8.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ea47aa2031a4c7bd646e248877778f51a7efb30ba0a3f95d7609c9b9e60b52d7
[INFO] running `Command { std: "docker" "start" "ea47aa2031a4c7bd646e248877778f51a7efb30ba0a3f95d7609c9b9e60b52d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ea47aa2031a4c7bd646e248877778f51a7efb30ba0a3f95d7609c9b9e60b52d7" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ea47aa2031a4c7bd646e248877778f51a7efb30ba0a3f95d7609c9b9e60b52d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ea47aa2031a4c7bd646e248877778f51a7efb30ba0a3f95d7609c9b9e60b52d7" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling pastey v0.2.2
[INFO] [stderr]     Checking inc_dec v0.1.0
[INFO] [stderr]     Checking accessorise v0.2.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling delegate v0.13.5
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking libsync v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `super::PreferredMutexType`
[INFO] [stdout]    --> src/waker_permit_queue.rs:28:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | use super::PreferredMutexType;
[INFO] [stdout]     |     ^^^^^^^------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            no `PreferredMutexType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 119 | pub type PreferredMutexType<T> = ::std::sync::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 125 | pub type PreferredMutexType<T> = parking_lot::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(feature="use_parking_lot_fair_sync")]
[INFO] [stdout]     |       ----------------------------------- the item is gated behind the `use_parking_lot_fair_sync` feature
[INFO] [stdout] 131 | pub type PreferredMutexType<T> = parking_lot::FairMutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `super::PreferredMutexType`
[INFO] [stdout]    --> src/waker_permit_queue.rs:28:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | use super::PreferredMutexType;
[INFO] [stdout]     |     ^^^^^^^------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            no `PreferredMutexType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 119 | pub type PreferredMutexType<T> = ::std::sync::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 125 | pub type PreferredMutexType<T> = parking_lot::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(feature="use_parking_lot_fair_sync")]
[INFO] [stdout]     |       ----------------------------------- the item is gated behind the `use_parking_lot_fair_sync` feature
[INFO] [stdout] 131 | pub type PreferredMutexType<T> = parking_lot::FairMutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredMutexType`
[INFO] [stdout]    --> src/waker_queue.rs:22:13
[INFO] [stdout]     |
[INFO] [stdout]  22 | use crate::{PreferredMutexType, QueuedWaker};
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ no `PreferredMutexType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 119 | pub type PreferredMutexType<T> = ::std::sync::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 125 | pub type PreferredMutexType<T> = parking_lot::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(feature="use_parking_lot_fair_sync")]
[INFO] [stdout]     |       ----------------------------------- the item is gated behind the `use_parking_lot_fair_sync` feature
[INFO] [stdout] 131 | pub type PreferredMutexType<T> = parking_lot::FairMutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `super::PreferredMutexType`
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:28:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | use super::PreferredMutexType;
[INFO] [stdout]     |     ^^^^^^^------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            no `PreferredMutexType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 119 | pub type PreferredMutexType<T> = ::std::sync::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 125 | pub type PreferredMutexType<T> = parking_lot::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(feature="use_parking_lot_fair_sync")]
[INFO] [stdout]     |       ----------------------------------- the item is gated behind the `use_parking_lot_fair_sync` feature
[INFO] [stdout] 131 | pub type PreferredMutexType<T> = parking_lot::FairMutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_reader.rs:9:13
[INFO] [stdout]     |
[INFO] [stdout]   9 | use crate::{PreferredRwLockType, shared_reading_and_writing::WeakSharedReader};
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredMutexType`
[INFO] [stdout]    --> src/waker_queue.rs:22:13
[INFO] [stdout]     |
[INFO] [stdout]  22 | use crate::{PreferredMutexType, QueuedWaker};
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ no `PreferredMutexType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 119 | pub type PreferredMutexType<T> = ::std::sync::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 125 | pub type PreferredMutexType<T> = parking_lot::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(feature="use_parking_lot_fair_sync")]
[INFO] [stdout]     |       ----------------------------------- the item is gated behind the `use_parking_lot_fair_sync` feature
[INFO] [stdout] 131 | pub type PreferredMutexType<T> = parking_lot::FairMutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use crate::PreferredRwLockType;
[INFO] [stdout]     |     ^^^^^^^-------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_shared_reader.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout]   6 | use crate::PreferredRwLockType;
[INFO] [stdout]     |     ^^^^^^^-------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `super::PreferredMutexType`
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:28:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | use super::PreferredMutexType;
[INFO] [stdout]     |     ^^^^^^^------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            no `PreferredMutexType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 119 | pub type PreferredMutexType<T> = ::std::sync::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 125 | pub type PreferredMutexType<T> = parking_lot::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(feature="use_parking_lot_fair_sync")]
[INFO] [stdout]     |       ----------------------------------- the item is gated behind the `use_parking_lot_fair_sync` feature
[INFO] [stdout] 131 | pub type PreferredMutexType<T> = parking_lot::FairMutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_shared_writer.rs:4:13
[INFO] [stdout]     |
[INFO] [stdout]   4 | use crate::{PreferredRwLockType, shared_reading_and_writing::SharedWriter};
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:1:26
[INFO] [stdout]     |
[INFO] [stdout]   1 | use crate::{ItemUpdater, PreferredRwLockType, WakerQueueWithUpdatedItem};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:19:26
[INFO] [stdout]     |
[INFO] [stdout]  19 | use crate::{ItemUpdater, PreferredRwLockType, shared_reading_and_writing::NotifyingSharedInternals};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_reader.rs:9:13
[INFO] [stdout]     |
[INFO] [stdout]   9 | use crate::{PreferredRwLockType, shared_reading_and_writing::WeakSharedReader};
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:18:26
[INFO] [stdout]     |
[INFO] [stdout]  18 | use crate::{ItemUpdater, PreferredRwLockType, shared_reading_and_writing::{NotifyingSharedInternals, NotifyingSharedReader}};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 | use crate::PreferredRwLockType;
[INFO] [stdout]     |     ^^^^^^^-------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_notifying_shared_reader.rs:9:26
[INFO] [stdout]     |
[INFO] [stdout]   9 | use crate::{ItemUpdater, PreferredRwLockType};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_notifying_shared_writer.rs:9:26
[INFO] [stdout]     |
[INFO] [stdout]   9 | use crate::{ItemUpdater, PreferredRwLockType};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredMutexType`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:26:26
[INFO] [stdout]     |
[INFO] [stdout]  26 | use crate::{ItemUpdater, PreferredMutexType, QueuedWaker};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ no `PreferredMutexType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 119 | pub type PreferredMutexType<T> = ::std::sync::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 125 | pub type PreferredMutexType<T> = parking_lot::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(feature="use_parking_lot_fair_sync")]
[INFO] [stdout]     |       ----------------------------------- the item is gated behind the `use_parking_lot_fair_sync` feature
[INFO] [stdout] 131 | pub type PreferredMutexType<T> = parking_lot::FairMutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_shared_reader.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout]   6 | use crate::PreferredRwLockType;
[INFO] [stdout]     |     ^^^^^^^-------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_shared_writer.rs:4:13
[INFO] [stdout]     |
[INFO] [stdout]   4 | use crate::{PreferredRwLockType, shared_reading_and_writing::SharedWriter};
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:1:26
[INFO] [stdout]     |
[INFO] [stdout]   1 | use crate::{ItemUpdater, PreferredRwLockType, WakerQueueWithUpdatedItem};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:19:26
[INFO] [stdout]     |
[INFO] [stdout]  19 | use crate::{ItemUpdater, PreferredRwLockType, shared_reading_and_writing::NotifyingSharedInternals};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:18:26
[INFO] [stdout]     |
[INFO] [stdout]  18 | use crate::{ItemUpdater, PreferredRwLockType, shared_reading_and_writing::{NotifyingSharedInternals, NotifyingSharedReader}};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_notifying_shared_reader.rs:9:26
[INFO] [stdout]     |
[INFO] [stdout]   9 | use crate::{ItemUpdater, PreferredRwLockType};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredRwLockType`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_notifying_shared_writer.rs:9:26
[INFO] [stdout]     |
[INFO] [stdout]   9 | use crate::{ItemUpdater, PreferredRwLockType};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^ no `PreferredRwLockType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 137 | pub type PreferredRwLockType<T> = ::std::sync::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 143 | pub type PreferredRwLockType<T> = parking_lot::RwLock<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::PreferredMutexType`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:26:26
[INFO] [stdout]     |
[INFO] [stdout]  26 | use crate::{ItemUpdater, PreferredMutexType, QueuedWaker};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ no `PreferredMutexType` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(feature="use_std_sync")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `use_std_sync` feature
[INFO] [stdout] 119 | pub type PreferredMutexType<T> = ::std::sync::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[cfg(feature="use_parking_lot_sync")]
[INFO] [stdout]     |       ------------------------------ the item is gated behind the `use_parking_lot_sync` feature
[INFO] [stdout] 125 | pub type PreferredMutexType<T> = parking_lot::Mutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(feature="use_parking_lot_fair_sync")]
[INFO] [stdout]     |       ----------------------------------- the item is gated behind the `use_parking_lot_fair_sync` feature
[INFO] [stdout] 131 | pub type PreferredMutexType<T> = parking_lot::FairMutex<T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:288:34
[INFO] [stdout]     |
[INFO] [stdout] 288 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:308:34
[INFO] [stdout]     |
[INFO] [stdout] 308 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         mg.is_none()
[INFO] [stdout]     |         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:437:38
[INFO] [stdout]     |
[INFO] [stdout] 437 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:543:38
[INFO] [stdout]     |
[INFO] [stdout] 543 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:617:34
[INFO] [stdout]     |
[INFO] [stdout] 617 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:661:34
[INFO] [stdout]     |
[INFO] [stdout] 661 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:755:29
[INFO] [stdout]     |
[INFO] [stdout] 755 |             opt_internals = mg.take();
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:890:29
[INFO] [stdout]     |
[INFO] [stdout] 890 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:997:29
[INFO] [stdout]     |
[INFO] [stdout] 997 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_permit_queue.rs:1102:38
[INFO] [stdout]      |
[INFO] [stdout] 1102 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         mg.is_none()
[INFO] [stdout]     |         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:201:25
[INFO] [stdout]     |
[INFO] [stdout] 201 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:258:25
[INFO] [stdout]     |
[INFO] [stdout] 258 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:311:21
[INFO] [stdout]     |
[INFO] [stdout] 311 |         match &mut *mg
[INFO] [stdout]     |                     ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:362:25
[INFO] [stdout]     |
[INFO] [stdout] 362 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:422:29
[INFO] [stdout]     |
[INFO] [stdout] 422 |             opt_internals = mg.take();
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:529:29
[INFO] [stdout]     |
[INFO] [stdout] 529 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:589:29
[INFO] [stdout]     |
[INFO] [stdout] 589 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:653:38
[INFO] [stdout]     |
[INFO] [stdout] 653 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:289:34
[INFO] [stdout]     |
[INFO] [stdout] 289 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:309:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         mg.is_none()
[INFO] [stdout]     |         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:344:30
[INFO] [stdout]     |
[INFO] [stdout] 344 |         if let Some(val) = &*mg
[INFO] [stdout]     |                              ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:366:30
[INFO] [stdout]     |
[INFO] [stdout] 366 |         if let Some(val) = &*mg
[INFO] [stdout]     |                              ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:484:38
[INFO] [stdout]     |
[INFO] [stdout] 484 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:616:38
[INFO] [stdout]     |
[INFO] [stdout] 616 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:714:38
[INFO] [stdout]     |
[INFO] [stdout] 714 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:814:38
[INFO] [stdout]     |
[INFO] [stdout] 814 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:945:29
[INFO] [stdout]     |
[INFO] [stdout] 945 |             opt_internals = mg.take();
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1089:29
[INFO] [stdout]      |
[INFO] [stdout] 1089 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1231:29
[INFO] [stdout]      |
[INFO] [stdout] 1231 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1345:38
[INFO] [stdout]      |
[INFO] [stdout] 1345 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1442:29
[INFO] [stdout]      |
[INFO] [stdout] 1442 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1577:29
[INFO] [stdout]      |
[INFO] [stdout] 1577 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1710:38
[INFO] [stdout]      |
[INFO] [stdout] 1710 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockReadGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/reader.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     read_guard: RwLockReadGuard<'a, T>
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockReadGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockReadGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockReadGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/reader.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(read_guard: RwLockReadGuard<'a, T>) -> Self
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockReadGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockReadGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockWriteGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/writer.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     write_guard: RwLockWriteGuard<'a, T>
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockWriteGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/writer.rs:21:29
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(write_guard: RwLockWriteGuard<'a, T>) -> Self
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockWriteGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_writer.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     write_guard: RwLockWriteGuard<'a, T>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockWriteGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_writer.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new(write_guard: RwLockWriteGuard<'a, T>, notifier_ref: &'a WakerQueueWithUpdatedItem<I, U>) -> Self
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:168:34
[INFO] [stdout]     |
[INFO] [stdout] 168 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:188:34
[INFO] [stdout]     |
[INFO] [stdout] 188 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |         mg.is_none()
[INFO] [stdout]     |         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:222:30
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if let Some(val) = &*mg
[INFO] [stdout]     |                              ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:260:25
[INFO] [stdout]     |
[INFO] [stdout] 260 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:319:25
[INFO] [stdout]     |
[INFO] [stdout] 319 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:376:25
[INFO] [stdout]     |
[INFO] [stdout] 376 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:488:21
[INFO] [stdout]     |
[INFO] [stdout] 488 |         match &mut *mg
[INFO] [stdout]     |                     ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:535:21
[INFO] [stdout]     |
[INFO] [stdout] 535 |         match &mut *mg
[INFO] [stdout]     |                     ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:586:25
[INFO] [stdout]     |
[INFO] [stdout] 586 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:651:25
[INFO] [stdout]     |
[INFO] [stdout] 651 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:707:21
[INFO] [stdout]     |
[INFO] [stdout] 707 |         match &mut *mg
[INFO] [stdout]     |                     ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:742:29
[INFO] [stdout]     |
[INFO] [stdout] 742 |             opt_internals = mg.take();
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:868:29
[INFO] [stdout]     |
[INFO] [stdout] 868 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:928:29
[INFO] [stdout]     |
[INFO] [stdout] 928 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1016:38
[INFO] [stdout]      |
[INFO] [stdout] 1016 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1126:29
[INFO] [stdout]      |
[INFO] [stdout] 1126 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1186:29
[INFO] [stdout]      |
[INFO] [stdout] 1186 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1254:38
[INFO] [stdout]      |
[INFO] [stdout] 1254 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/results.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt::{Debug, Display, Formatter}};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `AtomicBool`, `AtomicUsize`, `Ordering`, and `Weak`
[INFO] [stdout]  --> src/shared_details.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::Debug, sync::{atomic::{AtomicBool, AtomicUsize, Ordering}, Arc, Weak}};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^   ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool`, `AtomicUsize`, and `Ordering`
[INFO] [stdout]  --> src/bounded_shared_details.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]   --> src/waker_permit_queue.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/waker_permit_queue.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/waker_permit_queue.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::task::{Poll, Waker};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pastey::paste`
[INFO] [stdout]   --> src/waker_permit_queue.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use pastey::paste;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `accessorise::impl_get_val`
[INFO] [stdout]   --> src/waker_permit_queue.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use accessorise::impl_get_val;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]   --> src/waker_queue.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/waker_queue.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/waker_queue.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::task::{Poll, Waker};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pastey::paste`
[INFO] [stdout]   --> src/waker_queue.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use pastey::paste;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `accessorise::impl_get_val`
[INFO] [stdout]   --> src/waker_queue.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use accessorise::impl_get_val;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]   --> src/limited_waker_permit_queue.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/limited_waker_permit_queue.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/limited_waker_permit_queue.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::task::{Poll, Waker};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Reader`
[INFO] [stdout]   --> src/shared_reading_and_writing/shared_reader.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::Reader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Reader` and `Writer`
[INFO] [stdout]   --> src/shared_reading_and_writing/shared_writer.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{SharedReader, Reader, Writer, WeakSharedWriter};
[INFO] [stdout]    |                           ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::Arc` and `write`
[INFO] [stdout]  --> src/shared_reading_and_writing/reader.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::{Display, write}, ops::Deref, sync::Arc};
[INFO] [stdout]   |                          ^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::Arc` and `write`
[INFO] [stdout]  --> src/shared_reading_and_writing/writer.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::{Display, write}, ops::{Deref, DerefMut}, sync::Arc};
[INFO] [stdout]   |                          ^^^^^                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NotifyingWriter`, `SharedReader`, and `Writer`
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_shared_writer.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | use super::{SharedReader, Reader, Writer, NotifyingWriter, WeakNotifyingSharedWriter};
[INFO] [stdout]    |             ^^^^^^^^^^^^          ^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::Arc` and `write`
[INFO] [stdout]  --> src/shared_reading_and_writing/notifying_writer.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::{Display, write}, ops::{Deref, DerefMut}, sync::Arc};
[INFO] [stdout]   |                          ^^^^^                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedReader`
[INFO] [stdout]   --> src/shared_reading_and_writing/weak_notifying_shared_reader.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{SharedReader, NotifyingSharedInternals, NotifyingSharedReader};
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedWriter`
[INFO] [stdout]   --> src/shared_reading_and_writing/weak_notifying_shared_writer.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{SharedWriter, NotifyingSharedInternals, NotifyingSharedWriter};
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::task::{Poll, Waker};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pastey::paste`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use pastey::paste;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `accessorise::impl_get_val`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use accessorise::impl_get_val;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:288:34
[INFO] [stdout]     |
[INFO] [stdout] 288 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:308:34
[INFO] [stdout]     |
[INFO] [stdout] 308 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         mg.is_none()
[INFO] [stdout]     |         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:437:38
[INFO] [stdout]     |
[INFO] [stdout] 437 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:543:38
[INFO] [stdout]     |
[INFO] [stdout] 543 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:617:34
[INFO] [stdout]     |
[INFO] [stdout] 617 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:661:34
[INFO] [stdout]     |
[INFO] [stdout] 661 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:755:29
[INFO] [stdout]     |
[INFO] [stdout] 755 |             opt_internals = mg.take();
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:890:29
[INFO] [stdout]     |
[INFO] [stdout] 890 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_permit_queue.rs:997:29
[INFO] [stdout]     |
[INFO] [stdout] 997 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_permit_queue.rs:1102:38
[INFO] [stdout]      |
[INFO] [stdout] 1102 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         mg.is_none()
[INFO] [stdout]     |         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:201:25
[INFO] [stdout]     |
[INFO] [stdout] 201 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:258:25
[INFO] [stdout]     |
[INFO] [stdout] 258 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:311:21
[INFO] [stdout]     |
[INFO] [stdout] 311 |         match &mut *mg
[INFO] [stdout]     |                     ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:362:25
[INFO] [stdout]     |
[INFO] [stdout] 362 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:422:29
[INFO] [stdout]     |
[INFO] [stdout] 422 |             opt_internals = mg.take();
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:529:29
[INFO] [stdout]     |
[INFO] [stdout] 529 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:589:29
[INFO] [stdout]     |
[INFO] [stdout] 589 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue.rs:653:38
[INFO] [stdout]     |
[INFO] [stdout] 653 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:289:34
[INFO] [stdout]     |
[INFO] [stdout] 289 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:309:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         mg.is_none()
[INFO] [stdout]     |         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:344:30
[INFO] [stdout]     |
[INFO] [stdout] 344 |         if let Some(val) = &*mg
[INFO] [stdout]     |                              ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:366:30
[INFO] [stdout]     |
[INFO] [stdout] 366 |         if let Some(val) = &*mg
[INFO] [stdout]     |                              ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:484:38
[INFO] [stdout]     |
[INFO] [stdout] 484 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:616:38
[INFO] [stdout]     |
[INFO] [stdout] 616 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:714:38
[INFO] [stdout]     |
[INFO] [stdout] 714 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:814:38
[INFO] [stdout]     |
[INFO] [stdout] 814 |             if let Some(val) = &mut *mg
[INFO] [stdout]     |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/limited_waker_permit_queue.rs:945:29
[INFO] [stdout]     |
[INFO] [stdout] 945 |             opt_internals = mg.take();
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1089:29
[INFO] [stdout]      |
[INFO] [stdout] 1089 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1231:29
[INFO] [stdout]      |
[INFO] [stdout] 1231 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1345:38
[INFO] [stdout]      |
[INFO] [stdout] 1345 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1442:29
[INFO] [stdout]      |
[INFO] [stdout] 1442 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1577:29
[INFO] [stdout]      |
[INFO] [stdout] 1577 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/limited_waker_permit_queue.rs:1710:38
[INFO] [stdout]      |
[INFO] [stdout] 1710 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockReadGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/reader.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     read_guard: RwLockReadGuard<'a, T>
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockReadGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockReadGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockReadGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/reader.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(read_guard: RwLockReadGuard<'a, T>) -> Self
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockReadGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockReadGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockWriteGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/writer.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     write_guard: RwLockWriteGuard<'a, T>
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockWriteGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/writer.rs:21:29
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(write_guard: RwLockWriteGuard<'a, T>) -> Self
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockWriteGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_writer.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     write_guard: RwLockWriteGuard<'a, T>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `RwLockWriteGuard` in this scope
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_writer.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new(write_guard: RwLockWriteGuard<'a, T>, notifier_ref: &'a WakerQueueWithUpdatedItem<I, U>) -> Self
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::nonpoison::RwLockWriteGuard;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:168:34
[INFO] [stdout]     |
[INFO] [stdout] 168 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:188:34
[INFO] [stdout]     |
[INFO] [stdout] 188 |         if let Some(val) = &mut *mg
[INFO] [stdout]     |                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |         mg.is_none()
[INFO] [stdout]     |         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:222:30
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if let Some(val) = &*mg
[INFO] [stdout]     |                              ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:260:25
[INFO] [stdout]     |
[INFO] [stdout] 260 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:319:25
[INFO] [stdout]     |
[INFO] [stdout] 319 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:376:25
[INFO] [stdout]     |
[INFO] [stdout] 376 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:488:21
[INFO] [stdout]     |
[INFO] [stdout] 488 |         match &mut *mg
[INFO] [stdout]     |                     ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:535:21
[INFO] [stdout]     |
[INFO] [stdout] 535 |         match &mut *mg
[INFO] [stdout]     |                     ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:586:25
[INFO] [stdout]     |
[INFO] [stdout] 586 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:651:25
[INFO] [stdout]     |
[INFO] [stdout] 651 |             match &mut *mg
[INFO] [stdout]     |                         ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:707:21
[INFO] [stdout]     |
[INFO] [stdout] 707 |         match &mut *mg
[INFO] [stdout]     |                     ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:742:29
[INFO] [stdout]     |
[INFO] [stdout] 742 |             opt_internals = mg.take();
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:868:29
[INFO] [stdout]     |
[INFO] [stdout] 868 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:928:29
[INFO] [stdout]     |
[INFO] [stdout] 928 |                 match &mut *mg
[INFO] [stdout]     |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1016:38
[INFO] [stdout]      |
[INFO] [stdout] 1016 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1126:29
[INFO] [stdout]      |
[INFO] [stdout] 1126 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1186:29
[INFO] [stdout]      |
[INFO] [stdout] 1186 |                 match &mut *mg
[INFO] [stdout]      |                             ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mg` in this scope
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1254:38
[INFO] [stdout]      |
[INFO] [stdout] 1254 |             if let Some(wqi) = &mut *mg
[INFO] [stdout]      |                                      ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/results.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt::{Debug, Display, Formatter}};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `AtomicBool`, `AtomicUsize`, `Ordering`, and `Weak`
[INFO] [stdout]  --> src/shared_details.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::Debug, sync::{atomic::{AtomicBool, AtomicUsize, Ordering}, Arc, Weak}};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^   ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool`, `AtomicUsize`, and `Ordering`
[INFO] [stdout]  --> src/bounded_shared_details.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]   --> src/waker_permit_queue.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/waker_permit_queue.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/waker_permit_queue.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::task::{Poll, Waker};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pastey::paste`
[INFO] [stdout]   --> src/waker_permit_queue.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use pastey::paste;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `accessorise::impl_get_val`
[INFO] [stdout]   --> src/waker_permit_queue.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use accessorise::impl_get_val;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]   --> src/waker_queue.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/waker_queue.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/waker_queue.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::task::{Poll, Waker};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pastey::paste`
[INFO] [stdout]   --> src/waker_queue.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use pastey::paste;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `accessorise::impl_get_val`
[INFO] [stdout]   --> src/waker_queue.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use accessorise::impl_get_val;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]   --> src/limited_waker_permit_queue.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/limited_waker_permit_queue.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/limited_waker_permit_queue.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::task::{Poll, Waker};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Reader`
[INFO] [stdout]   --> src/shared_reading_and_writing/shared_reader.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::Reader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Reader` and `Writer`
[INFO] [stdout]   --> src/shared_reading_and_writing/shared_writer.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{SharedReader, Reader, Writer, WeakSharedWriter};
[INFO] [stdout]    |                           ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::Arc` and `write`
[INFO] [stdout]  --> src/shared_reading_and_writing/reader.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::{Display, write}, ops::Deref, sync::Arc};
[INFO] [stdout]   |                          ^^^^^               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::Arc` and `write`
[INFO] [stdout]  --> src/shared_reading_and_writing/writer.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::{Display, write}, ops::{Deref, DerefMut}, sync::Arc};
[INFO] [stdout]   |                          ^^^^^                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NotifyingWriter`, `SharedReader`, and `Writer`
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_shared_writer.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | use super::{SharedReader, Reader, Writer, NotifyingWriter, WeakNotifyingSharedWriter};
[INFO] [stdout]    |             ^^^^^^^^^^^^          ^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::Arc` and `write`
[INFO] [stdout]  --> src/shared_reading_and_writing/notifying_writer.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::{Display, write}, ops::{Deref, DerefMut}, sync::Arc};
[INFO] [stdout]   |                          ^^^^^                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedReader`
[INFO] [stdout]   --> src/shared_reading_and_writing/weak_notifying_shared_reader.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{SharedReader, NotifyingSharedInternals, NotifyingSharedReader};
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedWriter`
[INFO] [stdout]   --> src/shared_reading_and_writing/weak_notifying_shared_writer.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{SharedWriter, NotifyingSharedInternals, NotifyingSharedWriter};
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::task::{Poll, Waker};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pastey::paste`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use pastey::paste;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `accessorise::impl_get_val`
[INFO] [stdout]   --> src/waker_queue_with_updated_item.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use accessorise::impl_get_val;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |         match self.internals.notifier.wake_me_with_item(self.current_item.clone()).await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::wake_me_with_item`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::wake_me_with_item`
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn wake_me_with_item<'a>(&'a self, current_item: T) -> WakerQueueWakeMeWithItem<'a, T, U>
[INFO] [stdout]     |            ----------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for mutable reference `&mut notifying_shared_reader::NotifyingSharedReader<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |         (*self.read().await).clone()
[INFO] [stdout]     |                ^^^^ method not found in `&mut notifying_shared_reader::NotifyingSharedReader<T, I, U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncReadExt`
[INFO] [stdout]             candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:142:16
[INFO] [stdout]     |
[INFO] [stdout] 142 |         (*self.read().await).clone()
[INFO] [stdout]     |                ^^^^ method not found in `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncReadExt`
[INFO] [stdout]             candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |         match self.internals.notifier.wake_me_with_item(self.current_item.clone()).await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::wake_me_with_item`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::wake_me_with_item`
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn wake_me_with_item<'a>(&'a self, current_item: T) -> WakerQueueWakeMeWithItem<'a, T, U>
[INFO] [stdout]     |            ----------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for mutable reference `&mut notifying_shared_reader::NotifyingSharedReader<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |         (*self.read().await).clone()
[INFO] [stdout]     |                ^^^^ method not found in `&mut notifying_shared_reader::NotifyingSharedReader<T, I, U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncReadExt`
[INFO] [stdout]             candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for reference `&shared_reader::SharedReader<T>` in the current scope
[INFO] [stdout]   --> src/shared_reading_and_writing/shared_reader.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 83 |         (*self.read()).clone()
[INFO] [stdout]    |                ^^^^ method not found in `&shared_reader::SharedReader<T>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `AsyncReadExt`
[INFO] [stdout]            candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:142:16
[INFO] [stdout]     |
[INFO] [stdout] 142 |         (*self.read().await).clone()
[INFO] [stdout]     |                ^^^^ method not found in `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncReadExt`
[INFO] [stdout]             candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]   --> src/shared_reading_and_writing/shared_writer.rs:96:16
[INFO] [stdout]    |
[INFO] [stdout] 96 |         (*self.read()).clone()
[INFO] [stdout]    |                ^^^^ method not found in `&shared_writer::SharedWriter<T>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `AsyncReadExt`
[INFO] [stdout]            candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:148:16
[INFO] [stdout]     |
[INFO] [stdout] 148 |         (*self.write()) = (*item).clone();
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:155:16
[INFO] [stdout]     |
[INFO] [stdout] 155 |         (*self.write()) = item;
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for reference `&shared_reader::SharedReader<T>` in the current scope
[INFO] [stdout]   --> src/shared_reading_and_writing/shared_reader.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 83 |         (*self.read()).clone()
[INFO] [stdout]    |                ^^^^ method not found in `&shared_reader::SharedReader<T>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `AsyncReadExt`
[INFO] [stdout]            candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]   --> src/shared_reading_and_writing/shared_writer.rs:96:16
[INFO] [stdout]    |
[INFO] [stdout] 96 |         (*self.read()).clone()
[INFO] [stdout]    |                ^^^^ method not found in `&shared_writer::SharedWriter<T>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `AsyncReadExt`
[INFO] [stdout]            candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:163:28
[INFO] [stdout]     |
[INFO] [stdout] 163 |         replace(&mut *self.write(), item)
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:171:25
[INFO] [stdout]     |
[INFO] [stdout] 171 |         swap(&mut *self.write(), item);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:148:16
[INFO] [stdout]     |
[INFO] [stdout] 148 |         (*self.write()) = (*item).clone();
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:179:16
[INFO] [stdout]     |
[INFO] [stdout] 179 |         (*self.write()) = take(item);
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:155:16
[INFO] [stdout]     |
[INFO] [stdout] 155 |         (*self.write()) = item;
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |         write_fn(&mut *self.write(), item);
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:163:28
[INFO] [stdout]     |
[INFO] [stdout] 163 |         replace(&mut *self.write(), item)
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:195:33
[INFO] [stdout]     |
[INFO] [stdout] 195 |         write_fn_mut(&mut *self.write(), item);
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:171:25
[INFO] [stdout]     |
[INFO] [stdout] 171 |         swap(&mut *self.write(), item);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:203:34
[INFO] [stdout]     |
[INFO] [stdout] 203 |         write_fn_once(&mut *self.write(), item);
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 | /         {
[INFO] [stdout] 378 | |
[INFO] [stdout] 379 | |             #[cfg(feature="use_std_sync")]
[INFO] [stdout] 380 | |             match rw_lock.into_inner()
[INFO] [stdout] ...   |
[INFO] [stdout] 401 | |         }
[INFO] [stdout]     | |_________^ expected `Option<T>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Option<T>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:179:16
[INFO] [stdout]     |
[INFO] [stdout] 179 |         (*self.write()) = take(item);
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_shared_internals.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn into_inner(self) -> Option<T>
[INFO] [stdout]    |            ----------          ^^^^^^^^^ expected `Option<T>`, found `()`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Option<T>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |         write_fn(&mut *self.write(), item);
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:67:20
[INFO] [stdout]     |
[INFO] [stdout]  67 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    ^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::is_closed`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::is_closed`
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn is_closed(&self) -> bool
[INFO] [stdout]     |            --------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:61:47
[INFO] [stdout]     |
[INFO] [stdout]  61 |         if let Some(val) = internals.notifier.get_item()
[INFO] [stdout]     |                                               ^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::get_item`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::get_item`
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn get_item(&self) -> Option<T>
[INFO] [stdout]     |            -------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for mutable reference `&mut notifying_shared_reader::NotifyingSharedReader<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:156:23
[INFO] [stdout]     |
[INFO] [stdout] 156 |         block_on(self.read())
[INFO] [stdout]     |                       ^^^^ method not found in `&mut notifying_shared_reader::NotifyingSharedReader<T, I, U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncReadExt`
[INFO] [stdout]             candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:195:33
[INFO] [stdout]     |
[INFO] [stdout] 195 |         write_fn_mut(&mut *self.write(), item);
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_dont_wait` found for reference `&notifying_shared_reader::NotifyingSharedReader<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:232:16
[INFO] [stdout]     |
[INFO] [stdout] 232 |         (*self.read_dont_wait()).clone()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `read_clone_dont_wait` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 232 |         (*self.read_clone_dont_wait()).clone()
[INFO] [stdout]     |                     ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         WeakNotifyingSharedReader::new(&self.internals)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `WeakNotifyingSharedReader`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `weak_notifying_shared_reader::WeakNotifyingSharedReader`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_notifying_shared_reader.rs:14:14
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct WeakNotifyingSharedReader<T, I, U>
[INFO] [stdout]     |            ------------------------- required by a bound in this struct
[INFO] [stdout]  14 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WeakNotifyingSharedReader`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 253 |         WeakNotifyingSharedReader::<T, I, U>::new(&self.internals)
[INFO] [stdout]     |                                  +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:263:20
[INFO] [stdout]     |
[INFO] [stdout] 263 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    ^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_internals::NotifyingSharedInternals::<T, I, U>::is_closed`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:16:14
[INFO] [stdout]     |
[INFO] [stdout]  16 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedInternals::<T, I, U>::is_closed`
[INFO] [stdout] ...
[INFO] [stdout]  67 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    --------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:63:33
[INFO] [stdout]     |
[INFO] [stdout]  63 |         self.internals.notifier.get_item()
[INFO] [stdout]     |                                 ^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::get_item`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::get_item`
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn get_item(&self) -> Option<T>
[INFO] [stdout]     |            -------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for mutable reference `&mut notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |         block_on(self.read())
[INFO] [stdout]     |                       ^^^^ method not found in `&mut notifying_shared_writer::NotifyingSharedWriter<T, I, U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncReadExt`
[INFO] [stdout]             candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:150:23
[INFO] [stdout]     |
[INFO] [stdout] 150 |         block_on(self.read_clone())
[INFO] [stdout]     |                       ^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_writer::NotifyingSharedWriter::<T, I, U>::read_clone`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:32:14
[INFO] [stdout]     |
[INFO] [stdout]  32 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedWriter::<T, I, U>::read_clone`
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub async fn read_clone(&self) -> T
[INFO] [stdout]     |                  ---------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&shared_writer::SharedWriter<T>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:203:34
[INFO] [stdout]     |
[INFO] [stdout] 203 |         write_fn_once(&mut *self.write(), item);
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 184 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/shared_reading_and_writing/shared_writer.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 | /         {
[INFO] [stdout] 378 | |
[INFO] [stdout] 379 | |             #[cfg(feature="use_std_sync")]
[INFO] [stdout] 380 | |             match rw_lock.into_inner()
[INFO] [stdout] ...   |
[INFO] [stdout] 401 | |         }
[INFO] [stdout]     | |_________^ expected `Option<T>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Option<T>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_dont_wait` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:194:16
[INFO] [stdout]     |
[INFO] [stdout] 194 |         (*self.read_dont_wait()).clone()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `read_clone_dont_wait` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 194 |         (*self.read_clone_dont_wait()).clone()
[INFO] [stdout]     |                     ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:248:16
[INFO] [stdout]     |
[INFO] [stdout] 248 |         (*self.write()) = (*item).clone();
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_shared_internals.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn into_inner(self) -> Option<T>
[INFO] [stdout]    |            ----------          ^^^^^^^^^ expected `Option<T>`, found `()`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Option<T>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:67:20
[INFO] [stdout]     |
[INFO] [stdout]  67 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    ^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::is_closed`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::is_closed`
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn is_closed(&self) -> bool
[INFO] [stdout]     |            --------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:61:47
[INFO] [stdout]     |
[INFO] [stdout]  61 |         if let Some(val) = internals.notifier.get_item()
[INFO] [stdout]     |                                               ^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::get_item`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::get_item`
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn get_item(&self) -> Option<T>
[INFO] [stdout]     |            -------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:257:16
[INFO] [stdout]     |
[INFO] [stdout] 257 |         (*self.write()) = item;
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for mutable reference `&mut notifying_shared_reader::NotifyingSharedReader<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:156:23
[INFO] [stdout]     |
[INFO] [stdout] 156 |         block_on(self.read())
[INFO] [stdout]     |                       ^^^^ method not found in `&mut notifying_shared_reader::NotifyingSharedReader<T, I, U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncReadExt`
[INFO] [stdout]             candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:267:38
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let res = replace(&mut *self.write(), item);
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_dont_wait` found for reference `&notifying_shared_reader::NotifyingSharedReader<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:232:16
[INFO] [stdout]     |
[INFO] [stdout] 232 |         (*self.read_dont_wait()).clone()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `read_clone_dont_wait` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 232 |         (*self.read_clone_dont_wait()).clone()
[INFO] [stdout]     |                     ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         WeakNotifyingSharedReader::new(&self.internals)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `WeakNotifyingSharedReader`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `weak_notifying_shared_reader::WeakNotifyingSharedReader`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_notifying_shared_reader.rs:14:14
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct WeakNotifyingSharedReader<T, I, U>
[INFO] [stdout]     |            ------------------------- required by a bound in this struct
[INFO] [stdout]  14 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WeakNotifyingSharedReader`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 253 |         WeakNotifyingSharedReader::<T, I, U>::new(&self.internals)
[INFO] [stdout]     |                                  +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:263:20
[INFO] [stdout]     |
[INFO] [stdout] 263 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    ^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_internals::NotifyingSharedInternals::<T, I, U>::is_closed`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:16:14
[INFO] [stdout]     |
[INFO] [stdout]  16 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedInternals::<T, I, U>::is_closed`
[INFO] [stdout] ...
[INFO] [stdout]  67 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    --------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:63:33
[INFO] [stdout]     |
[INFO] [stdout]  63 |         self.internals.notifier.get_item()
[INFO] [stdout]     |                                 ^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::get_item`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::get_item`
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn get_item(&self) -> Option<T>
[INFO] [stdout]     |            -------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:279:25
[INFO] [stdout]     |
[INFO] [stdout] 279 |         swap(&mut *self.write(), item);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for mutable reference `&mut notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |         block_on(self.read())
[INFO] [stdout]     |                       ^^^^ method not found in `&mut notifying_shared_writer::NotifyingSharedWriter<T, I, U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `read`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncReadExt`
[INFO] [stdout]             candidate #2: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:150:23
[INFO] [stdout]     |
[INFO] [stdout] 150 |         block_on(self.read_clone())
[INFO] [stdout]     |                       ^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_writer::NotifyingSharedWriter::<T, I, U>::read_clone`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:32:14
[INFO] [stdout]     |
[INFO] [stdout]  32 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedWriter::<T, I, U>::read_clone`
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub async fn read_clone(&self) -> T
[INFO] [stdout]     |                  ---------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:289:16
[INFO] [stdout]     |
[INFO] [stdout] 289 |         (*self.write()) = take(item);
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_dont_wait` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:194:16
[INFO] [stdout]     |
[INFO] [stdout] 194 |         (*self.read_dont_wait()).clone()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `read_clone_dont_wait` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 194 |         (*self.read_clone_dont_wait()).clone()
[INFO] [stdout]     |                     ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:299:29
[INFO] [stdout]     |
[INFO] [stdout] 299 |         write_fn(&mut *self.write(), item);
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:248:16
[INFO] [stdout]     |
[INFO] [stdout] 248 |         (*self.write()) = (*item).clone();
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:309:33
[INFO] [stdout]     |
[INFO] [stdout] 309 |         write_fn_mut(&mut *self.write(), item);
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:257:16
[INFO] [stdout]     |
[INFO] [stdout] 257 |         (*self.write()) = item;
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:319:34
[INFO] [stdout]     |
[INFO] [stdout] 319 |         write_fn_once(&mut *self.write(), item);
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:328:33
[INFO] [stdout]     |
[INFO] [stdout] 328 |         self.internals.notifier.notify_waiters();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::notify_waiters`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::notify_waiters`
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn notify_waiters(&self) -> Option<usize>
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:267:38
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let res = replace(&mut *self.write(), item);
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:354:16
[INFO] [stdout]     |
[INFO] [stdout] 354 |         (*self.write()) = (*item).clone();
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:279:25
[INFO] [stdout]     |
[INFO] [stdout] 279 |         swap(&mut *self.write(), item);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:361:16
[INFO] [stdout]     |
[INFO] [stdout] 361 |         (*self.write()) = item;
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:289:16
[INFO] [stdout]     |
[INFO] [stdout] 289 |         (*self.write()) = take(item);
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:369:28
[INFO] [stdout]     |
[INFO] [stdout] 369 |         replace(&mut *self.write(), item)
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:377:25
[INFO] [stdout]     |
[INFO] [stdout] 377 |         swap(&mut *self.write(), item);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:299:29
[INFO] [stdout]     |
[INFO] [stdout] 299 |         write_fn(&mut *self.write(), item);
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:385:16
[INFO] [stdout]     |
[INFO] [stdout] 385 |         (*self.write()) = take(item);
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:309:33
[INFO] [stdout]     |
[INFO] [stdout] 309 |         write_fn_mut(&mut *self.write(), item);
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:393:29
[INFO] [stdout]     |
[INFO] [stdout] 393 |         write_fn(&mut *self.write(), item);
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:319:34
[INFO] [stdout]     |
[INFO] [stdout] 319 |         write_fn_once(&mut *self.write(), item);
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:328:33
[INFO] [stdout]     |
[INFO] [stdout] 328 |         self.internals.notifier.notify_waiters();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::notify_waiters`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::notify_waiters`
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn notify_waiters(&self) -> Option<usize>
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:401:33
[INFO] [stdout]     |
[INFO] [stdout] 401 |         write_fn_mut(&mut *self.write(), item);
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:354:16
[INFO] [stdout]     |
[INFO] [stdout] 354 |         (*self.write()) = (*item).clone();
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:409:34
[INFO] [stdout]     |
[INFO] [stdout] 409 |         write_fn_once(&mut *self.write(), item);
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:587:17
[INFO] [stdout]     |
[INFO] [stdout] 587 |             val.into_inner()
[INFO] [stdout]     |                 ^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_internals::NotifyingSharedInternals::<T, I, U>::into_inner`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:16:14
[INFO] [stdout]     |
[INFO] [stdout]  16 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedInternals::<T, I, U>::into_inner`
[INFO] [stdout] ...
[INFO] [stdout]  33 |     pub fn into_inner(self) -> Option<T>
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:616:9
[INFO] [stdout]     |
[INFO] [stdout] 616 |         NotifyingSharedReader::new(self.internals.clone()) //, self.internals.)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `NotifyingSharedReader`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_reader::NotifyingSharedReader`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:28:14
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct NotifyingSharedReader<T, I, U>
[INFO] [stdout]     |            --------------------- required by a bound in this struct
[INFO] [stdout]  28 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedReader`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 616 |         NotifyingSharedReader::<T, I, U>::new(self.internals.clone()) //, self.internals.)
[INFO] [stdout]     |                              +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:623:9
[INFO] [stdout]     |
[INFO] [stdout] 623 |         WeakNotifyingSharedWriter::new(&self.internals)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `WeakNotifyingSharedWriter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `weak_notifying_shared_writer::WeakNotifyingSharedWriter`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_notifying_shared_writer.rs:14:14
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct WeakNotifyingSharedWriter<T, I, U>
[INFO] [stdout]     |            ------------------------- required by a bound in this struct
[INFO] [stdout]  14 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WeakNotifyingSharedWriter`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 623 |         WeakNotifyingSharedWriter::<T, I, U>::new(&self.internals)
[INFO] [stdout]     |                                  +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:633:20
[INFO] [stdout]     |
[INFO] [stdout] 633 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    ^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_internals::NotifyingSharedInternals::<T, I, U>::is_closed`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:16:14
[INFO] [stdout]     |
[INFO] [stdout]  16 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedInternals::<T, I, U>::is_closed`
[INFO] [stdout] ...
[INFO] [stdout]  67 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    --------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_writer.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |         self.notifier_ref.notify_waiters();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::notify_waiters`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::notify_waiters`
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn notify_waiters(&self) -> Option<usize>
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]   --> src/shared_reading_and_writing/weak_notifying_shared_reader.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(NotifyingSharedReader::new_current_item_from_notifier(internals))
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `NotifyingSharedReader`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]   --> src/item_updaters.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout] 35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_reader::NotifyingSharedReader`
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_shared_reader.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct NotifyingSharedReader<T, I, U>
[INFO] [stdout]    |            --------------------- required by a bound in this struct
[INFO] [stdout] 28 |     where U: ItemUpdater<I>, 
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedReader`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(NotifyingSharedReader::<T, I, U>::new_current_item_from_notifier(internals))
[INFO] [stdout]    |                                       +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]   --> src/shared_reading_and_writing/weak_notifying_shared_writer.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(NotifyingSharedWriter::from_internals(internals))
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `NotifyingSharedWriter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]   --> src/item_updaters.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout] 35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_writer::NotifyingSharedWriter`
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_shared_writer.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct NotifyingSharedWriter<T, I, U>
[INFO] [stdout]    |            --------------------- required by a bound in this struct
[INFO] [stdout] 23 |     where U: ItemUpdater<I>, 
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedWriter`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(NotifyingSharedWriter::<T, I, U>::from_internals(internals))
[INFO] [stdout]    |                                       +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         WakerQueueWakeMeWithItem::new(self, current_item)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `WakerQueueWakeMeWithItem`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<T>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `WakerQueueWakeMeWithItem`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:815:14
[INFO] [stdout]     |
[INFO] [stdout] 814 | pub struct WakerQueueWakeMeWithItem<'a, T, U>
[INFO] [stdout]     |            ------------------------ required by a bound in this struct
[INFO] [stdout] 815 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWakeMeWithItem`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 236 -         WakerQueueWakeMeWithItem::new(self, current_item)
[INFO] [stdout] 236 +         WakerQueueWakeMeWithItem::<T, U>(self, current_item)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:243:9
[INFO] [stdout]      |
[INFO] [stdout]  243 |         WakerQueueWakeMeIgnoreItem::new(self)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `WakerQueueWakeMeIgnoreItem`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]     --> src/item_updaters.rs:12:1
[INFO] [stdout]      |
[INFO] [stdout]   12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]   35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `WakerQueueWakeMeIgnoreItem`
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1073:14
[INFO] [stdout]      |
[INFO] [stdout] 1072 | pub struct WakerQueueWakeMeIgnoreItem<'a, T, U>
[INFO] [stdout]      |            -------------------------- required by a bound in this struct
[INFO] [stdout] 1073 |     where U: ItemUpdater<T>, 
[INFO] [stdout]      |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWakeMeIgnoreItem`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  243 -         WakerQueueWakeMeIgnoreItem::new(self)
[INFO] [stdout]  243 +         WakerQueueWakeMeIgnoreItem::<T, U>(self)
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:361:16
[INFO] [stdout]     |
[INFO] [stdout] 361 |         (*self.write()) = item;
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:369:28
[INFO] [stdout]     |
[INFO] [stdout] 369 |         replace(&mut *self.write(), item)
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0283, E0308, E0425, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0283`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libsync` (lib) due to 128 previous errors; 29 warnings emitted
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:377:25
[INFO] [stdout]     |
[INFO] [stdout] 377 |         swap(&mut *self.write(), item);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:385:16
[INFO] [stdout]     |
[INFO] [stdout] 385 |         (*self.write()) = take(item);
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:393:29
[INFO] [stdout]     |
[INFO] [stdout] 393 |         write_fn(&mut *self.write(), item);
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:401:33
[INFO] [stdout]     |
[INFO] [stdout] 401 |         write_fn_mut(&mut *self.write(), item);
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for reference `&notifying_shared_writer::NotifyingSharedWriter<T, I, U>` in the current scope
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:409:34
[INFO] [stdout]     |
[INFO] [stdout] 409 |         write_fn_once(&mut *self.write(), item);
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `AsyncWriteExt`
[INFO] [stdout]             candidate #2: `Hasher`
[INFO] [stdout]             candidate #3: `std::io::Write`
[INFO] [stdout] help: there is a method `write_fn` with a similar name, but with different arguments
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | /     pub fn write_fn<F>(&self, item: &T, write_fn: &F)
[INFO] [stdout] 296 | |         where F: Fn(&mut T, &T)
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:587:17
[INFO] [stdout]     |
[INFO] [stdout] 587 |             val.into_inner()
[INFO] [stdout]     |                 ^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_internals::NotifyingSharedInternals::<T, I, U>::into_inner`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:16:14
[INFO] [stdout]     |
[INFO] [stdout]  16 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedInternals::<T, I, U>::into_inner`
[INFO] [stdout] ...
[INFO] [stdout]  33 |     pub fn into_inner(self) -> Option<T>
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:616:9
[INFO] [stdout]     |
[INFO] [stdout] 616 |         NotifyingSharedReader::new(self.internals.clone()) //, self.internals.)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `NotifyingSharedReader`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_reader::NotifyingSharedReader`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_reader.rs:28:14
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct NotifyingSharedReader<T, I, U>
[INFO] [stdout]     |            --------------------- required by a bound in this struct
[INFO] [stdout]  28 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedReader`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 616 |         NotifyingSharedReader::<T, I, U>::new(self.internals.clone()) //, self.internals.)
[INFO] [stdout]     |                              +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:623:9
[INFO] [stdout]     |
[INFO] [stdout] 623 |         WeakNotifyingSharedWriter::new(&self.internals)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `WeakNotifyingSharedWriter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `weak_notifying_shared_writer::WeakNotifyingSharedWriter`
[INFO] [stdout]    --> src/shared_reading_and_writing/weak_notifying_shared_writer.rs:14:14
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct WeakNotifyingSharedWriter<T, I, U>
[INFO] [stdout]     |            ------------------------- required by a bound in this struct
[INFO] [stdout]  14 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WeakNotifyingSharedWriter`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 623 |         WeakNotifyingSharedWriter::<T, I, U>::new(&self.internals)
[INFO] [stdout]     |                                  +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_writer.rs:633:20
[INFO] [stdout]     |
[INFO] [stdout] 633 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    ^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_internals::NotifyingSharedInternals::<T, I, U>::is_closed`
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_shared_internals.rs:16:14
[INFO] [stdout]     |
[INFO] [stdout]  16 |     where U: ItemUpdater<I>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedInternals::<T, I, U>::is_closed`
[INFO] [stdout] ...
[INFO] [stdout]  67 |             pub fn is_closed(&self);
[INFO] [stdout]     |                    --------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/shared_reading_and_writing/notifying_writer.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |         self.notifier_ref.notify_waiters();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ cannot infer type for type parameter `U`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `waker_queue_with_updated_item::WakerQueueWithUpdatedItem::<T, U>::notify_waiters`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWithUpdatedItem::<T, U>::notify_waiters`
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn notify_waiters(&self) -> Option<usize>
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]   --> src/shared_reading_and_writing/weak_notifying_shared_reader.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(NotifyingSharedReader::new_current_item_from_notifier(internals))
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `NotifyingSharedReader`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type must implement `item_updater::ItemUpdater<I>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]   --> src/item_updaters.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout] 35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_reader::NotifyingSharedReader`
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_shared_reader.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct NotifyingSharedReader<T, I, U>
[INFO] [stdout]    |            --------------------- required by a bound in this struct
[INFO] [stdout] 28 |     where U: ItemUpdater<I>, 
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedReader`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(NotifyingSharedReader::<T, I, U>::new_current_item_from_notifier(internals))
[INFO] [stdout]    |                                       +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]   --> src/shared_reading_and_writing/weak_notifying_shared_writer.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(NotifyingSharedWriter::from_internals(internals))
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `NotifyingSharedWriter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]   --> src/item_updaters.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout] 35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `notifying_shared_writer::NotifyingSharedWriter`
[INFO] [stdout]   --> src/shared_reading_and_writing/notifying_shared_writer.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct NotifyingSharedWriter<T, I, U>
[INFO] [stdout]    |            --------------------- required by a bound in this struct
[INFO] [stdout] 23 |     where U: ItemUpdater<I>, 
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ required by this bound in `NotifyingSharedWriter`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(NotifyingSharedWriter::<T, I, U>::from_internals(internals))
[INFO] [stdout]    |                                       +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         WakerQueueWakeMeWithItem::new(self, current_item)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `WakerQueueWakeMeWithItem`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `item_updater::ItemUpdater<T>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]    --> src/item_updaters.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]  35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `WakerQueueWakeMeWithItem`
[INFO] [stdout]    --> src/waker_queue_with_updated_item.rs:815:14
[INFO] [stdout]     |
[INFO] [stdout] 814 | pub struct WakerQueueWakeMeWithItem<'a, T, U>
[INFO] [stdout]     |            ------------------------ required by a bound in this struct
[INFO] [stdout] 815 |     where U: ItemUpdater<T>, 
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWakeMeWithItem`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 236 -         WakerQueueWakeMeWithItem::new(self, current_item)
[INFO] [stdout] 236 +         WakerQueueWakeMeWithItem::<T, U>(self, current_item)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:243:9
[INFO] [stdout]      |
[INFO] [stdout]  243 |         WakerQueueWakeMeIgnoreItem::new(self)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the struct `WakerQueueWakeMeIgnoreItem`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `item_updater::ItemUpdater<_>`
[INFO] [stdout] help: the following types implement trait `item_updater::ItemUpdater<T>`
[INFO] [stdout]     --> src/item_updaters.rs:12:1
[INFO] [stdout]      |
[INFO] [stdout]   12 | impl ItemUpdater<u32> for U32Updater
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `U32Updater` implements `item_updater::ItemUpdater<u32>`
[INFO] [stdout] ...
[INFO] [stdout]   35 | impl ItemUpdater<Instant> for InstantUpdater
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `InstantUpdater` implements `item_updater::ItemUpdater<Instant>`
[INFO] [stdout] note: required by a bound in `WakerQueueWakeMeIgnoreItem`
[INFO] [stdout]     --> src/waker_queue_with_updated_item.rs:1073:14
[INFO] [stdout]      |
[INFO] [stdout] 1072 | pub struct WakerQueueWakeMeIgnoreItem<'a, T, U>
[INFO] [stdout]      |            -------------------------- required by a bound in this struct
[INFO] [stdout] 1073 |     where U: ItemUpdater<T>, 
[INFO] [stdout]      |              ^^^^^^^^^^^^^^ required by this bound in `WakerQueueWakeMeIgnoreItem`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  243 -         WakerQueueWakeMeIgnoreItem::new(self)
[INFO] [stdout]  243 +         WakerQueueWakeMeIgnoreItem::<T, U>(self)
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0283, E0308, E0425, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0283`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libsync` (lib test) due to 128 previous errors; 29 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ea47aa2031a4c7bd646e248877778f51a7efb30ba0a3f95d7609c9b9e60b52d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea47aa2031a4c7bd646e248877778f51a7efb30ba0a3f95d7609c9b9e60b52d7", kill_on_drop: false }`
[INFO] [stdout] ea47aa2031a4c7bd646e248877778f51a7efb30ba0a3f95d7609c9b9e60b52d7
